🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / feature / firmware / src / commonMain / kotlin / org / meshtastic / feature / firmware / FirmwareUpdateScreen.kt
Displaying Raw • Download
feature/firmware/src/commonMain/kotlin/org/meshtastic/feature/firmware/FirmwareUpdateScreen.kt f5128798a808219a28e9ee0916c079edcb203744 (f5128798) Text, 35.90 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tf0883e@fileTb4b4b4:Te6edf3OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooManyFunctionsTa5d6ff"Tb4b4b4)
Tff7b72package T7ee787org.meshtastic.feature.firmware
Tff7b72import T7ee787androidx.compose.animation.AnimatedVisibility
Tff7b72import T7ee787androidx.compose.animation.animateContentSize
Tff7b72import T7ee787androidx.compose.foundation.layout.Arrangement
Tff7b72import T7ee787androidx.compose.foundation.layout.Arrangement.spacedBy
Tff7b72import T7ee787androidx.compose.foundation.layout.Box
Tff7b72import T7ee787androidx.compose.foundation.layout.Column
Tff7b72import T7ee787androidx.compose.foundation.layout.Row
Tff7b72import T7ee787androidx.compose.foundation.layout.Spacer
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxSize
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxWidth
Tff7b72import T7ee787androidx.compose.foundation.layout.height
Tff7b72import T7ee787androidx.compose.foundation.layout.padding
Tff7b72import T7ee787androidx.compose.foundation.layout.size
Tff7b72import T7ee787androidx.compose.foundation.layout.width
Tff7b72import T7ee787androidx.compose.foundation.rememberScrollState
Tff7b72import T7ee787androidx.compose.foundation.verticalScroll
Tff7b72import T7ee787androidx.compose.material3.Button
Tff7b72import T7ee787androidx.compose.material3.ButtonDefaults
Tff7b72import T7ee787androidx.compose.material3.Card
Tff7b72import T7ee787androidx.compose.material3.CardDefaults
Tff7b72import T7ee787androidx.compose.material3.CenterAlignedTopAppBar
Tff7b72import T7ee787androidx.compose.material3.CircularWavyProgressIndicator
Tff7b72import T7ee787androidx.compose.material3.ElevatedCard
Tff7b72import T7ee787androidx.compose.material3.ExperimentalMaterial3Api
Tff7b72import T7ee787androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
Tff7b72import T7ee787androidx.compose.material3.Icon
Tff7b72import T7ee787androidx.compose.material3.IconButton
Tff7b72import T7ee787androidx.compose.material3.LinearWavyProgressIndicator
Tff7b72import T7ee787androidx.compose.material3.MaterialTheme
Tff7b72import T7ee787androidx.compose.material3.OutlinedButton
Tff7b72import T7ee787androidx.compose.material3.Scaffold
Tff7b72import T7ee787androidx.compose.material3.SegmentedButton
Tff7b72import T7ee787androidx.compose.material3.SegmentedButtonDefaults
Tff7b72import T7ee787androidx.compose.material3.SingleChoiceSegmentedButtonRow
Tff7b72import T7ee787androidx.compose.material3.Text
Tff7b72import T7ee787androidx.compose.material3.TextButton
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.LaunchedEffect
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.runtime.mutableIntStateOf
Tff7b72import T7ee787androidx.compose.runtime.mutableStateOf
Tff7b72import T7ee787androidx.compose.runtime.remember
Tff7b72import T7ee787androidx.compose.runtime.setValue
Tff7b72import T7ee787androidx.compose.ui.Alignment
Tff7b72import T7ee787androidx.compose.ui.Modifier
Tff7b72import T7ee787androidx.compose.ui.hapticfeedback.HapticFeedbackType
Tff7b72import T7ee787androidx.compose.ui.layout.ContentScale
Tff7b72import T7ee787androidx.compose.ui.platform.LocalHapticFeedback
Tff7b72import T7ee787androidx.compose.ui.text.style.TextAlign
Tff7b72import T7ee787androidx.compose.ui.unit.dp
Tff7b72import T7ee787androidx.lifecycle.compose.collectAsStateWithLifecycle
Tff7b72import T7ee787androidx.navigationevent.NavigationEventInfo
Tff7b72import T7ee787androidx.navigationevent.compose.NavigationBackHandler
Tff7b72import T7ee787androidx.navigationevent.compose.rememberNavigationEventState
Tff7b72import T7ee787coil3.compose.AsyncImage
Tff7b72import T7ee787coil3.compose.LocalPlatformContext
Tff7b72import T7ee787coil3.request.ImageRequest
Tff7b72import T7ee787coil3.request.crossfade
Tff7b72import T7ee787com.mikepenz.markdown.m3.Markdown
Tff7b72import T7ee787kotlinx.coroutines.delay
Tff7b72import T7ee787org.jetbrains.compose.resources.stringResource
Tff7b72import T7ee787org.meshtastic.core.common.util.CommonUri
Tff7b72import T7ee787org.meshtastic.core.database.entity.FirmwareRelease
Tff7b72import T7ee787org.meshtastic.core.database.entity.FirmwareReleaseType
Tff7b72import T7ee787org.meshtastic.core.model.DeviceHardware
Tff7b72import T7ee787org.meshtastic.core.resources.Res
Tff7b72import T7ee787org.meshtastic.core.resources.UiText
Tff7b72import T7ee787org.meshtastic.core.resources.back
Tff7b72import T7ee787org.meshtastic.core.resources.cancel
Tff7b72import T7ee787org.meshtastic.core.resources.chirpy
Tff7b72import T7ee787org.meshtastic.core.resources.dont_show_again_for_device
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_almost_there
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_alpha
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_checking
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_currently_installed
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_device
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_disclaimer_chirpy_says
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_disclaimer_text
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_disclaimer_title
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_disconnect_warning
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_do_not_close
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_done
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_error
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_hang_tight
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_keep_device_close
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_latest
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_local_file
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_method_detail
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_rak4631_bootloader_hint
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_release_notes
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_retry
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_save_dfu_file
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_select_file
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_source_local
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_stable
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_success
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_taking_a_while
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_target
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_title
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_unknown_release
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_usb_bootloader_warning
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_usb_instruction_text
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_usb_instruction_title
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_verification_failed
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_verifying
Tff7b72import T7ee787org.meshtastic.core.resources.firmware_update_waiting_reconnect
Tff7b72import T7ee787org.meshtastic.core.resources.i_know_what_i_m_doing
Tff7b72import T7ee787org.meshtastic.core.resources.img_chirpy
Tff7b72import T7ee787org.meshtastic.core.resources.learn_more
Tff7b72import T7ee787org.meshtastic.core.resources.okay
Tff7b72import T7ee787org.meshtastic.core.resources.save
Tff7b72import T7ee787org.meshtastic.core.ui.component.MeshtasticDialog
Tff7b72import T7ee787org.meshtastic.core.ui.icon.ArrowBack
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Bluetooth
Tff7b72import T7ee787org.meshtastic.core.ui.icon.CheckCircle
Tff7b72import T7ee787org.meshtastic.core.ui.icon.CloudDownload
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Dangerous
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Folder
Tff7b72import T7ee787org.meshtastic.core.ui.icon.MeshtasticIcons
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Refresh
Tff7b72import T7ee787org.meshtastic.core.ui.icon.SystemUpdate
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Usb
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Warning
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Wifi
Tff7b72import T7ee787org.meshtastic.core.ui.util.KeepScreenOn
Tff7b72import T7ee787org.meshtastic.core.ui.util.rememberOpenFileLauncher
Tff7b72import T7ee787org.meshtastic.core.ui.util.rememberOpenUrl
Tff7b72import T7ee787org.meshtastic.core.ui.util.rememberSaveFileLauncher
Tff7b72private Tff7b72const Tff7b72val Te6edf3CYCLE_DELAY_MS Tff7b72= T79c0ff4T79c0ff5T79c0ff0T79c0ff0L
Tf0883e@Composable
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4)
Tff7b72fun Td2a8ffFirmwareUpdateScreenTb4b4b4(Te6edf3onNavigateUpTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4, Te6edf3viewModelTb4b4b4: Te6edf3FirmwareUpdateViewModelTb4b4b4, Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3state Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3stateTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3selectedReleaseType Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3selectedReleaseTypeTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3deviceHardware Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3deviceHardwareTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3currentVersion Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3currentFirmwareVersionTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3selectedRelease Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3selectedReleaseTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72var Te6edf3showExitConfirmation Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Tff7b72falseTb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3filePickerLauncher Tff7b72= Te6edf3rememberOpenFileLauncher Tb4b4b4{ Te6edf3uriTb4b4b4: Te6edf3CommonUri? Tff7b72-Tff7b72>
Te6edf3uriTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3viewModelTb4b4b4.Te6edf3startUpdateFromFileTb4b4b4(Tffa657itTb4b4b4) Tb4b4b4}
Tb4b4b4}
Tff7b72val Te6edf3saveFileLauncher Tff7b72= Te6edf3rememberSaveFileLauncher Tb4b4b4{ Te6edf3uri Tff7b72-Tff7b72> Te6edf3viewModelTb4b4b4.Te6edf3saveDfuFileTb4b4b4(Te6edf3uriTb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3actions Tff7b72=
Te6edf3rememberTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onNavigateUpTb4b4b4) Tb4b4b4{
Te6edf3FirmwareUpdateActionsTb4b4b4(
Te6edf3onReleaseTypeSelect Tff7b72= Te6edf3viewModelTff7b72::Te6edf3setReleaseTypeTb4b4b4,
Te6edf3onStartUpdate Tff7b72= Te6edf3viewModelTff7b72::Te6edf3startUpdateTb4b4b4,
Te6edf3onPickFile Tff7b72= Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3state Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3ReadyTb4b4b4) Tb4b4b4{
Te6edf3filePickerLauncherTb4b4b4(Ta5d6ff"Ta5d6ff*/*Ta5d6ff"Tb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onSaveFile Tff7b72= Tb4b4b4{ Te6edf3fileName Tff7b72-Tff7b72> Te6edf3saveFileLauncherTb4b4b4(Te6edf3fileNameTb4b4b4, Ta5d6ff"Ta5d6ffapplication/octet-streamTa5d6ff"Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onRetry Tff7b72= Te6edf3viewModelTff7b72::Te6edf3checkForUpdatesTb4b4b4,
Te6edf3onCancel Tff7b72= Tb4b4b4{ Te6edf3showExitConfirmation Tff7b72= Tff7b72true Tb4b4b4}Tb4b4b4,
Te6edf3onDone Tff7b72= Tb4b4b4{ Te6edf3onNavigateUpTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onDismissBootloaderWarning Tff7b72= Te6edf3viewModelTff7b72::Te6edf3dismissBootloaderWarningForCurrentDeviceTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3KeepScreenOnTb4b4b4(Te6edf3shouldKeepFirmwareScreenOnTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4)
Tff7b72val Te6edf3backHandlerState Tff7b72= Te6edf3rememberNavigationEventStateTb4b4b4(Te6edf3NavigationEventInfoTb4b4b4.Te6edf3NoneTb4b4b4)
Te6edf3NavigationBackHandlerTb4b4b4(
Te6edf3state Tff7b72= Te6edf3backHandlerStateTb4b4b4,
Te6edf3isBackEnabled Tff7b72= Te6edf3shouldKeepFirmwareScreenOnTb4b4b4(Te6edf3stateTb4b4b4)Tb4b4b4,
Te6edf3onBackCompleted Tff7b72= Tb4b4b4{ Te6edf3showExitConfirmation Tff7b72= Tff7b72true Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3showExitConfirmationTb4b4b4) Tb4b4b4{
Te6edf3MeshtasticDialogTb4b4b4(
Te6edf3onDismiss Tff7b72= Tb4b4b4{ Te6edf3showExitConfirmation Tff7b72= Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disclaimer_titleTb4b4b4)Tb4b4b4,
Te6edf3message Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disconnect_warningTb4b4b4)Tb4b4b4,
Te6edf3confirmText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_retryTb4b4b4)Tb4b4b4,
Te6edf3onConfirm Tff7b72= Tb4b4b4{
Te6edf3showExitConfirmation Tff7b72= Tff7b72false
Te6edf3viewModelTb4b4b4.Te6edf3cancelUpdateTb4b4b4(Tb4b4b4)
Te6edf3onNavigateUpTb4b4b4(Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3dismissText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3backTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3FirmwareUpdateScaffoldTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4,
Te6edf3onNavigateUp Tff7b72= Te6edf3onNavigateUpTb4b4b4,
Te6edf3state Tff7b72= Te6edf3stateTb4b4b4,
Te6edf3selectedReleaseType Tff7b72= Te6edf3selectedReleaseTypeTb4b4b4,
Te6edf3actions Tff7b72= Te6edf3actionsTb4b4b4,
Te6edf3deviceHardware Tff7b72= Te6edf3deviceHardwareTb4b4b4,
Te6edf3currentVersion Tff7b72= Te6edf3currentVersionTb4b4b4,
Te6edf3selectedRelease Tff7b72= Te6edf3selectedReleaseTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ApiTff7b72::Te6edf3classTb4b4b4)
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffFirmwareUpdateScaffoldTb4b4b4(
Te6edf3onNavigateUpTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3stateTb4b4b4: Te6edf3FirmwareUpdateStateTb4b4b4,
Te6edf3selectedReleaseTypeTb4b4b4: Te6edf3FirmwareReleaseTypeTb4b4b4,
Te6edf3actionsTb4b4b4: Te6edf3FirmwareUpdateActionsTb4b4b4,
Te6edf3deviceHardwareTb4b4b4: Te6edf3DeviceHardware?Tb4b4b4,
Te6edf3currentVersionTb4b4b4: Tffa657String?Tb4b4b4,
Te6edf3selectedReleaseTb4b4b4: Te6edf3FirmwareRelease?Tb4b4b4,
Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ScaffoldTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4,
Te6edf3topBar Tff7b72= Tb4b4b4{
Te6edf3CenterAlignedTopAppBarTb4b4b4(
Te6edf3title Tff7b72= Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_titleTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3navigationIcon Tff7b72= Tb4b4b4{
Te6edf3IconButtonTb4b4b4(Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onNavigateUpTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3MeshtasticIconsTb4b4b4.Te6edf3ArrowBackTb4b4b4, Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3backTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{ Te6edf3padding Tff7b72-Tff7b72>
Te6edf3ColumnTb4b4b4(
Te6edf3modifier Tff7b72=
Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3paddingTb4b4b4)
Tb4b4b4.Te6edf3fillMaxSizeTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3verticalScrollTb4b4b4(Te6edf3rememberScrollStateTb4b4b4(Tb4b4b4)Tb4b4b4)
Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3horizontal Tff7b72= T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)
Tb4b4b4.Te6edf3animateContentSizeTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3deviceHardware Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3AnimatedVisibilityTb4b4b4(
Te6edf3visible Tff7b72=
Te6edf3state Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Ready Tff7b72|Tff7b72|
Te6edf3state Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Idle Tff7b72|Tff7b72|
Te6edf3state Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3CheckingTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3Column Tb4b4b4{
Te6edf3ReleaseTypeSelectorTb4b4b4(Te6edf3selectedReleaseTypeTb4b4b4, Te6edf3actionsTb4b4b4.Te6edf3onReleaseTypeSelectTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Te6edf3DeviceInfoCardTb4b4b4(
Te6edf3deviceHardware Tff7b72= Te6edf3deviceHardwareTb4b4b4,
Te6edf3release Tff7b72= Te6edf3selectedReleaseTb4b4b4,
Te6edf3currentFirmwareVersion Tff7b72= Te6edf3currentVersionTb4b4b4,
Te6edf3selectedReleaseType Tff7b72= Te6edf3selectedReleaseTypeTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Tb4b4b4}
Te6edf3BoxTb4b4b4(Te6edf3contentAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3TopCenterTb4b4b4) Tb4b4b4{
Te6edf3FirmwareUpdateContentTb4b4b4(Te6edf3state Tff7b72= Te6edf3stateTb4b4b4, Te6edf3selectedReleaseType Tff7b72= Te6edf3selectedReleaseTypeTb4b4b4, Te6edf3actions Tff7b72= Te6edf3actionsTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72private Tff7b72fun Td2a8ffshouldKeepFirmwareScreenOnTb4b4b4(Te6edf3stateTb4b4b4: Te6edf3FirmwareUpdateStateTb4b4b4)Tb4b4b4: Tffa657Boolean Tff7b72= Tff7b72when Tb4b4b4(Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3DownloadingTb4b4b4,
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3ProcessingTb4b4b4,
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3UpdatingTb4b4b4,
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3VerifyingTb4b4b4,
Tff7b72-Tff7b72> Tff7b72true
Tff7b72else Tff7b72-Tff7b72> Tff7b72false
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffFirmwareUpdateContentTb4b4b4(
Te6edf3stateTb4b4b4: Te6edf3FirmwareUpdateStateTb4b4b4,
Te6edf3selectedReleaseTypeTb4b4b4: Te6edf3FirmwareReleaseTypeTb4b4b4,
Te6edf3actionsTb4b4b4: Te6edf3FirmwareUpdateActionsTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4,
Te6edf3verticalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3TopTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72when Tb4b4b4(Te6edf3stateTb4b4b4) Tb4b4b4{
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3IdleTb4b4b4,
Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3CheckingTb4b4b4,
Tff7b72-Tff7b72> Te6edf3CheckingStateTb4b4b4(Tb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Ready Tff7b72-Tff7b72>
Te6edf3ReadyStateTb4b4b4(Te6edf3state Tff7b72= Te6edf3stateTb4b4b4, Te6edf3selectedReleaseType Tff7b72= Te6edf3selectedReleaseTypeTb4b4b4, Te6edf3actions Tff7b72= Te6edf3actionsTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Downloading Tff7b72-Tff7b72>
Te6edf3ProgressContentTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3progressStateTb4b4b4, Te6edf3onCancel Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onCancelTb4b4b4, Te6edf3isDownloading Tff7b72= Tff7b72trueTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Processing Tff7b72-Tff7b72> Te6edf3ProgressContentTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3progressStateTb4b4b4, Te6edf3onCancel Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onCancelTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Updating Tff7b72-Tff7b72>
Te6edf3ProgressContentTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3progressStateTb4b4b4, Te6edf3onCancel Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onCancelTb4b4b4, Te6edf3isUpdating Tff7b72= Tff7b72trueTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Verifying Tff7b72-Tff7b72> Te6edf3VerifyingStateTb4b4b4(Tb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3VerificationFailed Tff7b72-Tff7b72>
Te6edf3VerificationFailedStateTb4b4b4(Te6edf3onRetry Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onStartUpdateTb4b4b4, Te6edf3onIgnore Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onDoneTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Error Tff7b72-Tff7b72> Te6edf3ErrorStateTb4b4b4(Te6edf3error Tff7b72= Te6edf3stateTb4b4b4.Te6edf3errorTb4b4b4, Te6edf3onRetry Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onRetryTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3Success Tff7b72-Tff7b72> Te6edf3SuccessStateTb4b4b4(Te6edf3onDone Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onDoneTb4b4b4)
Tff7b72is Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3AwaitingFileSave Tff7b72-Tff7b72> Te6edf3AwaitingFileSaveStateTb4b4b4(Te6edf3stateTb4b4b4, Te6edf3actionsTb4b4b4.Te6edf3onSaveFileTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffVerifyingStateTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3CircularWavyProgressIndicatorTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_verifyingTb4b4b4)Tb4b4b4, Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3titleMediumTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_waiting_reconnectTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyMediumTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariantTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3CyclingMessagesTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffCheckingStateTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3CircularWavyProgressIndicatorTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_checkingTb4b4b4)Tb4b4b4, Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyLargeTb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72fun Td2a8ffReadyStateTb4b4b4(
Te6edf3stateTb4b4b4: Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3ReadyTb4b4b4,
Te6edf3selectedReleaseTypeTb4b4b4: Te6edf3FirmwareReleaseTypeTb4b4b4,
Te6edf3actionsTb4b4b4: Te6edf3FirmwareUpdateActionsTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3showDisclaimer Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Tff7b72falseTb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3device Tff7b72= Te6edf3stateTb4b4b4.Te6edf3deviceHardware
Tff7b72val Te6edf3haptic Tff7b72= Te6edf3LocalHapticFeedbackTb4b4b4.Te6edf3current
Tff7b72if Tb4b4b4(Te6edf3showDisclaimerTb4b4b4) Tb4b4b4{
Te6edf3DisclaimerDialogTb4b4b4(
Te6edf3updateMethod Tff7b72= Te6edf3stateTb4b4b4.Te6edf3updateMethodTb4b4b4,
Te6edf3onDismiss Tff7b72= Tb4b4b4{ Te6edf3showDisclaimer Tff7b72= Tff7b72false Tb4b4b4}Tb4b4b4,
Te6edf3onConfirm Tff7b72= Tb4b4b4{
Te6edf3showDisclaimer Tff7b72= Tff7b72false
Tff7b72if Tb4b4b4(Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3LOCALTb4b4b4) Tb4b4b4{
Te6edf3actionsTb4b4b4.Te6edf3onPickFileTb4b4b4(Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3actionsTb4b4b4.Te6edf3onStartUpdateTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3showBootloaderWarningTb4b4b4) Tb4b4b4{
Te6edf3BootloaderWarningCardTb4b4b4(Te6edf3deviceHardware Tff7b72= Te6edf3deviceTb4b4b4, Te6edf3onDismissForDevice Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3onDismissBootloaderWarningTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3LOCALTb4b4b4) Tb4b4b4{
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tff7b72val Te6edf3largeHeight Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3LargeContainerHeight
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Te6edf3ButtonTb4b4b4(
Te6edf3onClick Tff7b72= Tb4b4b4{
Te6edf3hapticTb4b4b4.Te6edf3performHapticFeedbackTb4b4b4(Te6edf3HapticFeedbackTypeTb4b4b4.Te6edf3LongPressTb4b4b4)
Te6edf3showDisclaimer Tff7b72= Tff7b72true
Tb4b4b4}Tb4b4b4,
Te6edf3shapes Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3shapesForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3heightTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3MeshtasticIconsTb4b4b4.Te6edf3FolderTb4b4b4, Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_select_fileTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3textStyleForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3release Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tff7b72val Te6edf3largeHeight Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3LargeContainerHeight
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Te6edf3ButtonTb4b4b4(
Te6edf3onClick Tff7b72= Tb4b4b4{
Te6edf3hapticTb4b4b4.Te6edf3performHapticFeedbackTb4b4b4(Te6edf3HapticFeedbackTypeTb4b4b4.Te6edf3LongPressTb4b4b4)
Te6edf3showDisclaimer Tff7b72= Tff7b72true
Tb4b4b4}Tb4b4b4,
Te6edf3shapes Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3shapesForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3heightTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3imageVector Tff7b72=
Tff7b72when Tb4b4b4(Te6edf3stateTb4b4b4.Te6edf3updateMethodTb4b4b4) Tb4b4b4{
Te6edf3FirmwareUpdateMethodTb4b4b4.Te6edf3Ble Tff7b72-Tff7b72> Te6edf3MeshtasticIconsTb4b4b4.Te6edf3Bluetooth
Te6edf3FirmwareUpdateMethodTb4b4b4.Te6edf3Usb Tff7b72-Tff7b72> Te6edf3MeshtasticIconsTb4b4b4.Te6edf3Usb
Te6edf3FirmwareUpdateMethodTb4b4b4.Te6edf3Wifi Tff7b72-Tff7b72> Te6edf3MeshtasticIconsTb4b4b4.Te6edf3Wifi
Tff7b72else Tff7b72-Tff7b72> Te6edf3MeshtasticIconsTb4b4b4.Te6edf3SystemUpdate
Tb4b4b4}Tb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(
Te6edf3resource Tff7b72= Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_method_detailTb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3updateMethodTb4b4b4.Te6edf3descriptionTb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3textStyleForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3ReleaseNotesCardTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3releaseTb4b4b4.Te6edf3releaseNotesTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffDisclaimerDialogTb4b4b4(Te6edf3updateMethodTb4b4b4: Te6edf3FirmwareUpdateMethodTb4b4b4, Te6edf3onDismissTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4, Te6edf3onConfirmTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Te6edf3MeshtasticDialogTb4b4b4(
Te6edf3onDismiss Tff7b72= Te6edf3onDismissTb4b4b4,
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disclaimer_titleTb4b4b4)Tb4b4b4,
Te6edf3confirmText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3i_know_what_i_m_doingTb4b4b4)Tb4b4b4,
Te6edf3onConfirm Tff7b72= Te6edf3onConfirmTb4b4b4,
Te6edf3dismissText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3cancelTb4b4b4)Tb4b4b4,
Te6edf3text Tff7b72= Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3animateContentSizeTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disclaimer_textTb4b4b4)Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3MeshtasticIconsTb4b4b4.Te6edf3WarningTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disconnect_warningTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelMediumTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3updateMethod Tff7b72is Te6edf3FirmwareUpdateMethodTb4b4b4.Te6edf3BleTb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3ChirpyCardTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffChirpyCardTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3CardTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3colors Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3cardColorsTb4b4b4(Te6edf3containerColor Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3surfaceVariantTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4, Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3BottomTb4b4b4,
Te6edf3horizontalArrangement Tff7b72= Te6edf3spacedByTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Ta5d6ff"Ta5d6ff🪜Ta5d6ff"Tb4b4b4, Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff4T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4, Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3headlineLargeTb4b4b4)
Te6edf3AsyncImageTb4b4b4(
Te6edf3model Tff7b72=
Te6edf3ImageRequestTb4b4b4.Te6edf3BuilderTb4b4b4(Te6edf3LocalPlatformContextTb4b4b4.Te6edf3currentTb4b4b4)
Tb4b4b4.Te6edf3dataTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3drawableTb4b4b4.Te6edf3img_chirpyTb4b4b4)
Tb4b4b4.Te6edf3crossfadeTb4b4b4(Tff7b72trueTb4b4b4)
Tb4b4b4.Te6edf3buildTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3contentScale Tff7b72= Te6edf3ContentScaleTb4b4b4.Te6edf3FitTb4b4b4,
Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3chirpyTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff4T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_disclaimer_chirpy_saysTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3labelSmallTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffDeviceHardwareImageTb4b4b4(Te6edf3deviceHardwareTb4b4b4: Te6edf3DeviceHardwareTb4b4b4, Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3hwImg Tff7b72= Te6edf3deviceHardwareTb4b4b4.Te6edf3imagesTff7b72?.Te6edf3getOrNullTb4b4b4(T79c0ff1Tb4b4b4) Tff7b72?: Te6edf3deviceHardwareTb4b4b4.Te6edf3imagesTff7b72?.Te6edf3getOrNullTb4b4b4(T79c0ff0Tb4b4b4) Tff7b72?: Ta5d6ff"Ta5d6ffunknown.svgTa5d6ff"
Tff7b72val Te6edf3imageUrl Tff7b72= Ta5d6ff"Ta5d6ffhttps://flasher.meshtastic.org/img/devices/Tffd700$Te6edf3hwImgTa5d6ff"
Te6edf3AsyncImageTb4b4b4(
Te6edf3model Tff7b72= Te6edf3ImageRequestTb4b4b4.Te6edf3BuilderTb4b4b4(Te6edf3LocalPlatformContextTb4b4b4.Te6edf3currentTb4b4b4)Tb4b4b4.Te6edf3dataTb4b4b4(Te6edf3imageUrlTb4b4b4)Tb4b4b4.Te6edf3crossfadeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4.Te6edf3buildTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3contentScale Tff7b72= Te6edf3ContentScaleTb4b4b4.Te6edf3FitTb4b4b4,
Te6edf3contentDescription Tff7b72= Te6edf3deviceHardwareTb4b4b4.Te6edf3displayNameTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffReleaseNotesCardTb4b4b4(Te6edf3releaseNotesTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4{
Te6edf3ElevatedCardTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3animateContentSizeTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3colors Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3elevatedCardColorsTb4b4b4(Te6edf3containerColor Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3surfaceTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_release_notesTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3titleMediumTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3MarkdownTb4b4b4(Te6edf3content Tff7b72= Te6edf3releaseNotesTb4b4b4, Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffDeviceInfoCardTb4b4b4(
Te6edf3deviceHardwareTb4b4b4: Te6edf3DeviceHardwareTb4b4b4,
Te6edf3releaseTb4b4b4: Te6edf3FirmwareRelease?Tb4b4b4,
Te6edf3currentFirmwareVersionTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3selectedReleaseTypeTb4b4b4: Te6edf3FirmwareReleaseType Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3STABLETb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3target Tff7b72= Te6edf3deviceHardwareTb4b4b4.Te6edf3hwModelSlugTb4b4b4.Te6edf3ifEmpty Tb4b4b4{ Te6edf3deviceHardwareTb4b4b4.Te6edf3platformioTarget Tb4b4b4}
Te6edf3ElevatedCardTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3animateContentSizeTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3colors Tff7b72= Te6edf3CardDefaultsTb4b4b4.Te6edf3elevatedCardColorsTb4b4b4(Te6edf3containerColor Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3surfaceContainerLowTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4, Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3horizontalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3SpaceBetweenTb4b4b4,
Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3DeviceHardwareImageTb4b4b4(Te6edf3deviceHardwareTb4b4b4, Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff8T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_deviceTb4b4b4, Te6edf3deviceHardwareTb4b4b4.Te6edf3displayNameTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3headlineSmallTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_targetTb4b4b4, Te6edf3targetTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyMediumTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariantTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Tff7b72val Te6edf3currentVersionString Tff7b72=
Te6edf3stringResourceTb4b4b4(
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_currently_installedTb4b4b4,
Te6edf3currentFirmwareVersionTff7b72?.Te6edf3takeIf Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4) Tb4b4b4}
Tff7b72?: Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_unknown_releaseTb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3TextTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3text Tff7b72= Te6edf3currentVersionStringTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Tff7b72val Tb4b4b4(Te6edf3labelTb4b4b4, Te6edf3versionTb4b4b4) Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3LOCALTb4b4b4) Tb4b4b4{
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_source_localTb4b4b4) Te6edf3to Ta5d6ff"Ta5d6ff"
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72val Te6edf3releaseVersion Tff7b72= Te6edf3releaseTff7b72?.Te6edf3title Tff7b72?: Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_unknown_releaseTb4b4b4)
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_latestTb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4) Te6edf3to Te6edf3releaseVersion
Tb4b4b4}
Te6edf3TextTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3text Tff7b72= Ta5d6ff"Tffd700$Te6edf3labelTffd700$Te6edf3versionTa5d6ff"Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyLargeTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3primaryTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffBootloaderWarningCardTb4b4b4(Te6edf3deviceHardwareTb4b4b4: Te6edf3DeviceHardwareTb4b4b4, Te6edf3onDismissForDeviceTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3openUrl Tff7b72= Te6edf3rememberOpenUrlTb4b4b4(Tb4b4b4)
Te6edf3ElevatedCardTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3animateContentSizeTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3colors Tff7b72=
Te6edf3CardDefaultsTb4b4b4.Te6edf3elevatedCardColorsTb4b4b4(
Te6edf3containerColor Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorContainerTb4b4b4,
Te6edf3contentColor Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onErrorContainerTb4b4b4,
Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3imageVector Tff7b72= Te6edf3MeshtasticIconsTb4b4b4.Te6edf3WarningTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onErrorContainerTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72=
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_usb_bootloader_warningTb4b4b4, Te6edf3deviceHardwareTb4b4b4.Te6edf3displayNameTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyMediumTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72val Te6edf3slug Tff7b72= Te6edf3deviceHardwareTb4b4b4.Te6edf3hwModelSlug
Tff7b72if Tb4b4b4(Te6edf3slugTb4b4b4.Te6edf3equalsTb4b4b4(Ta5d6ff"Ta5d6ffRAK4631Ta5d6ff"Tb4b4b4, Te6edf3ignoreCase Tff7b72= Tff7b72trueTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_rak4631_bootloader_hintTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodySmallTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tff7b72val Te6edf3infoUrl Tff7b72= Te6edf3deviceHardwareTb4b4b4.Te6edf3bootloaderInfoUrl
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3infoUrlTb4b4b4.Te6edf3isNullOrEmptyTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextButtonTb4b4b4(Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3openUrlTb4b4b4(Te6edf3infoUrlTb4b4b4) Tb4b4b4}Tb4b4b4) Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3learn_moreTb4b4b4)Tb4b4b4) Tb4b4b4}
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onDismissForDeviceTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3dont_show_again_for_deviceTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffReleaseTypeSelectorTb4b4b4(
Te6edf3selectedReleaseTypeTb4b4b4: Te6edf3FirmwareReleaseTypeTb4b4b4,
Te6edf3onReleaseTypeSelectTb4b4b4: Tb4b4b4(Te6edf3FirmwareReleaseTypeTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3SingleChoiceSegmentedButtonRowTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3SegmentedButtonTb4b4b4(
Te6edf3selected Tff7b72= Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3STABLETb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onReleaseTypeSelectTb4b4b4(Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3STABLETb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3shape Tff7b72= Te6edf3SegmentedButtonDefaultsTb4b4b4.Te6edf3itemShapeTb4b4b4(Te6edf3index Tff7b72= T79c0ff0Tb4b4b4, Te6edf3count Tff7b72= T79c0ff3Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_stableTb4b4b4)Tb4b4b4)
Tb4b4b4}
Te6edf3SegmentedButtonTb4b4b4(
Te6edf3selected Tff7b72= Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3ALPHATb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onReleaseTypeSelectTb4b4b4(Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3ALPHATb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3shape Tff7b72= Te6edf3SegmentedButtonDefaultsTb4b4b4.Te6edf3itemShapeTb4b4b4(Te6edf3index Tff7b72= T79c0ff1Tb4b4b4, Te6edf3count Tff7b72= T79c0ff3Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_alphaTb4b4b4)Tb4b4b4)
Tb4b4b4}
Te6edf3SegmentedButtonTb4b4b4(
Te6edf3selected Tff7b72= Te6edf3selectedReleaseType Tff7b72=Tff7b72= Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3LOCALTb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onReleaseTypeSelectTb4b4b4(Te6edf3FirmwareReleaseTypeTb4b4b4.Te6edf3LOCALTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3shape Tff7b72= Te6edf3SegmentedButtonDefaultsTb4b4b4.Te6edf3itemShapeTb4b4b4(Te6edf3index Tff7b72= T79c0ff2Tb4b4b4, Te6edf3count Tff7b72= T79c0ff3Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_local_fileTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffProgressContentTb4b4b4(
Te6edf3progressStateTb4b4b4: Te6edf3ProgressStateTb4b4b4,
Te6edf3onCancelTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3isDownloadingTb4b4b4: Tffa657Boolean Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3isUpdatingTb4b4b4: Tffa657Boolean Tff7b72= Tff7b72falseTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3ColumnTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4,
Te6edf3verticalArrangement Tff7b72= Te6edf3ArrangementTb4b4b4.Te6edf3TopTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3isDownloadingTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3MeshtasticIconsTb4b4b4.Te6edf3CloudDownloadTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff4T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3primaryTb4b4b4,
Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Te6edf3CircularWavyProgressIndicatorTb4b4b4(
Te6edf3progress Tff7b72= Tb4b4b4{ Tff7b72if Tb4b4b4(Te6edf3isUpdatingTb4b4b4) Te6edf3progressStateTb4b4b4.Te6edf3progress Tff7b72else T79c0ff1f Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3progressStateTb4b4b4.Te6edf3messageTb4b4b4.Te6edf3asStringTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3titleMediumTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Tff7b72val Te6edf3details Tff7b72= Te6edf3progressStateTb4b4b4.Te6edf3details
Tff7b72if Tb4b4b4(Te6edf3details Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3detailsTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodySmallTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariantTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3isDownloading Tff7b72|Tff7b72| Te6edf3isUpdatingTb4b4b4) Tb4b4b4{
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Te6edf3LinearWavyProgressIndicatorTb4b4b4(
Te6edf3progress Tff7b72= Tb4b4b4{ Te6edf3progressStateTb4b4b4.Te6edf3progress Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3horizontal Tff7b72= T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3CyclingMessagesTb4b4b4(Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3OutlinedButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onCancelTb4b4b4) Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3cancelTb4b4b4)Tb4b4b4) Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffAwaitingFileSaveStateTb4b4b4(Te6edf3stateTb4b4b4: Te6edf3FirmwareUpdateStateTb4b4b4.Te6edf3AwaitingFileSaveTb4b4b4, Te6edf3onSaveFileTb4b4b4: Tb4b4b4(Tffa657StringTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3showDialog Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Tff7b72trueTb4b4b4) Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3showDialogTb4b4b4) Tb4b4b4{
Te6edf3MeshtasticDialogTb4b4b4(
Te6edf3onDismiss Tff7b72= Tb4b4b4{ T8b949e/* No-op to force user to acknowledge */ Tb4b4b4}Tb4b4b4,
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_usb_instruction_titleTb4b4b4)Tb4b4b4,
Te6edf3confirmText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3okayTb4b4b4)Tb4b4b4,
Te6edf3onConfirm Tff7b72= Tb4b4b4{
Te6edf3showDialog Tff7b72= Tff7b72false
Te6edf3onSaveFileTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3fileNameTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3text Tff7b72= Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_usb_instruction_textTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3dismissable Tff7b72= Tff7b72falseTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3CircularWavyProgressIndicatorTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_save_dfu_fileTb4b4b4)Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3titleMediumTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3showDialogTb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3ButtonTb4b4b4(Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onSaveFileTb4b4b4(Te6edf3stateTb4b4b4.Te6edf3fileNameTb4b4b4) Tb4b4b4}Tb4b4b4) Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3saveTb4b4b4)Tb4b4b4) Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffCyclingMessagesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3messages Tff7b72=
Te6edf3listOfTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_hang_tightTb4b4b4)Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_keep_device_closeTb4b4b4)Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_do_not_closeTb4b4b4)Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_almost_thereTb4b4b4)Tb4b4b4,
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_taking_a_whileTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72var Te6edf3currentMessageIndex Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableIntStateOfTb4b4b4(T79c0ff0Tb4b4b4) Tb4b4b4}
Te6edf3LaunchedEffectTb4b4b4(Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72while Tb4b4b4(Tff7b72trueTb4b4b4) Tb4b4b4{
Te6edf3delayTb4b4b4(Te6edf3CYCLE_DELAY_MSTb4b4b4)
Te6edf3currentMessageIndex Tff7b72= Tb4b4b4(Te6edf3currentMessageIndex Tff7b72+ T79c0ff1Tb4b4b4) Tff7b72% Te6edf3messagesTb4b4b4.Te6edf3size
Tb4b4b4}
Tb4b4b4}
Te6edf3TextTb4b4b4(
Te6edf3messagesTff7b72[Te6edf3currentMessageIndexTff7b72]Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyMediumTb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3onSurfaceVariantTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3heightTb4b4b4(T79c0ff4T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffVerificationFailedStateTb4b4b4(Te6edf3onRetryTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4, Te6edf3onIgnoreTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3MeshtasticIconsTb4b4b4.Te6edf3WarningTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_verification_failedTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyLargeTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff3T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3RowTb4b4b4(Te6edf3horizontalArrangement Tff7b72= Te6edf3spacedByTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3OutlinedButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onRetryTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3MeshtasticIconsTb4b4b4.Te6edf3RefreshTb4b4b4, Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_retryTb4b4b4)Tb4b4b4)
Tb4b4b4}
Te6edf3ButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onIgnoreTb4b4b4) Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_doneTb4b4b4)Tb4b4b4) Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffErrorStateTb4b4b4(Te6edf3errorTb4b4b4: Te6edf3UiTextTb4b4b4, Te6edf3onRetryTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3MeshtasticIconsTb4b4b4.Te6edf3DangerousTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff6T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_errorTb4b4b4, Te6edf3errorTb4b4b4.Te6edf3asStringTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodyLargeTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff3T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3OutlinedButtonTb4b4b4(Te6edf3onClick Tff7b72= Te6edf3onRetryTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3MeshtasticIconsTb4b4b4.Te6edf3RefreshTb4b4b4, Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_retryTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffSuccessStateTb4b4b4(Te6edf3onDoneTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3haptic Tff7b72= Te6edf3LocalHapticFeedbackTb4b4b4.Te6edf3current
Te6edf3LaunchedEffectTb4b4b4(Tffa657UnitTb4b4b4) Tb4b4b4{ Te6edf3hapticTb4b4b4.Te6edf3performHapticFeedbackTb4b4b4(Te6edf3HapticFeedbackTypeTb4b4b4.Te6edf3LongPressTb4b4b4) Tb4b4b4}
Te6edf3ColumnTb4b4b4(Te6edf3horizontalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterHorizontallyTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3MeshtasticIconsTb4b4b4.Te6edf3CheckCircleTb4b4b4,
Te6edf3contentDescription Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff1T79c0ff0T79c0ff0.Te6edf3dpTb4b4b4)Tb4b4b4,
Te6edf3tint Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3primaryTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff2T79c0ff4.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextTb4b4b4(
Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_successTb4b4b4)Tb4b4b4,
Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3primaryTb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3headlineLargeTb4b4b4,
Te6edf3textAlign Tff7b72= Te6edf3TextAlignTb4b4b4.Te6edf3CenterTb4b4b4,
Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff3T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tff7b72val Te6edf3largeHeight Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3LargeContainerHeight
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Te6edf3ButtonTb4b4b4(
Te6edf3onClick Tff7b72= Te6edf3onDoneTb4b4b4,
Te6edf3shapes Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3shapesForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3heightTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3firmware_update_doneTb4b4b4)Tb4b4b4, Te6edf3style Tff7b72= Te6edf3ButtonDefaultsTb4b4b4.Te6edf3textStyleForTb4b4b4(Te6edf3largeHeightTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.19s